#include "cubes.h"
#include "ui_cubes.h"
#include "QPainter"
#include "QTimer"
#include "QKeyEvent"


void Cubes::Clear()//清行
{
    int count[50]={0};
    for(int i=0;i<vCube.size();i++)
    {
        count[vCube[i].top()/25]++;
    }
    for(int j=0;j<50;j++)
    {
        if(count[j]==22)
        {
            score+=40;
            QVector<QRect>::iterator ite;
            for(ite=vCube.begin();ite!=vCube.end();)
            {
                  if((*ite).top()/25==j)
                        ite=vCube.erase(ite);
                  else
                        ite++;
            }//清本页面
            QVector<QRect>::iterator ite1;
            for(ite1=vCube1.begin();ite1!=vCube1.end();)
            {
                  if((*ite1).top()/25==j)
                        ite1=vCube1.erase(ite1);
                  else
                        ite1++;
            }//清传递块
            for(int i=0;i<vCube.size();i++)
            {
                if(vCube[i].top()/25<j)
                {
                    vCube[i] = Down(vCube[i]);
                }
            }
            for(int i=0;i<vCube1.size();i++)
            {
                if(vCube1[i].top()/25<j)
                {
                    vCube1[i] = Down(vCube1[i]);
                }
            }
        }
    }
}
void Cubes::Clear2()//清余
{
    QVector<QRect>::iterator ite;
    for(ite=vCube.begin();ite!=vCube.end();)
    {
          if((*ite).top()<25)
                ite=vCube.erase(ite);
          else
                ite++;
    }

}
void Cubes::Clear3()//全清
{
    QVector<QRect>::iterator ite;
    for(ite=vCube.begin();ite!=vCube.end();)
    {
          ite=vCube.erase(ite);
    }
}

